package com.dc.designPattern._20_state.impl;

import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * Description: 状态模式_具体状态_没有抽奖机会状态
 * @author: gdc
 * @date: 2021/6/9
 * @version 1.0
 */
@Data
@AllArgsConstructor
public class NoRaffleState implements State{

    private RaffleActivity activity;

    /**
     * 当前状态可以扣除积分，扣除后，可以继续可以抽奖了
     */
    @Override
    public void deductMoney() {
        System.out.println("扣除50积分成功，您可以抽奖了...");
        activity.setState(activity.getCanRaffleState());
    }

    /**
     * 当前状态不能抽奖
     */
    @Override
    public boolean raffle() {
        System.out.println("扣除了积分才能继续抽奖偶...");
        return false;
    }

    @Override
    public void dispensePrize() {
        System.out.println("不能发放奖品");
    }
}
